//通过n级形参去修改n级实参的值

# include<stdio.h>

int fun(int num)
{
	num = 88;
	return num;
}
void fun1(int *p)
{
	*p = 88;
}
void fun2(int **p)//这里要注意,因为指针变量是*p类型,所以要修改他的值的话,必须要使用他的地址,指针变量的指针变量
				//应该要定义成**p类型
{
	*p = 0x99999999;
}
int main (void)
{
	int *p ;
	int num = 99;
	p = &num;
	//如果要通过函数修改num的值,有两种方式

	//第一种方式,通过函数返回值
	fun (num);
	printf ("num= %d\n",num);

	//第二种方式,通过地址传参的方式,这里的地址是要修改变量的地址
	//这种方式无返回值
	fun1(&num);
	printf ("num=%d\n\n",num);
	printf ("p=%p\n",p);
	//如果要修改一个指针变量,也可以通过地址传参的方式来修改
	fun2(&p);
	printf ("p=%p\n",p);

	return 0;
}

